#ifndef CDATE_T_H_
#define CDATE_T_H_

class cDate_t {
public:
	// cDate_t(const cDate_t& ct); // Copy constructor
	// ~cDate_t(); // Destructor
	// const cDate_t& operator=(const cDate_t& ct); //Assignment operator

	cDate_t(); //Default constructor
	cDate_t(const int day, const int month, const int year);

	void print() const;

	int getDay() const;
	int getMonth() const;
	int getYear() const;
	int getDayOfYear() const;
	bool isLeap() const;
	const char* getDayName() const;
	const char* getMonthName() const;

	void setDate(const int day, const int month, const int year);
	
	static void setFormat(const int format) {
		if (format == 1 || format == 2 || format == 3) {
			printFormat = format;
		}
	}
private:
	int day;
	int month;
	int year;

	int dayOfYear;
	char dayName[10];
	char monthName[4];
	
	static int printFormat;

	void updateDate(const int day, const int month, const int year);
};
#endif /*CDATE_T_H_*/
